package com.company.cloud.common.redis.utils;

import cn.hutool.core.util.RandomUtil;

/**
 * 过期时间工具类
 */
public class CacheExpireUtils {

	/**
	 * 过期时间24小时（1天）
	 * @return SECONDS
	 */
	public static long getExpire24Hour() {
		return 86400;
	}

	/**
	 * 过期时间1小时
	 * @return SECONDS
	 */
	public static long getExpire1Hour() {
		return 3600;
	}
	
	
	/**
	 * 过期时间1分钟
	 * @return SECONDS
	 */
	public static long getExpire1Min() {
		return 60L;
	}

	/**
	 * 过期时间5分钟
	 * 
	 * @return SECONDS
	 */
	public static long getExpire5Min() {
		return 300L;
	}
	
	
	/**
	 * 过期时间（分钟）
	 * @return SECONDS
	 */
	public static long getExpireMin(int num) {
		return 60L * num;
	}

	/**
	 * 过期时间（小时）
	 * @return SECONDS
	 */
	public static long getExpireHour(int num) {
		return 3600 * num;
	}

	/**
	 * 过期时间（天）
	 * @return SECONDS
	 */
	public static long getExpireDay(int num) {
		return 86400 * num;
	}

	
	/**
	 * 区间过期时间（分钟）
	 * @return SECONDS
	 */
	public static long getExpireRegion2Min(int min, int max) {
		long expire = RandomUtil.randomLong(60 * min, 60 * max);
		return Math.abs(expire);
	}
	
	
	/**
	 * 区间过期时间（小时）
	 * @return SECONDS
	 */
	public static long getExpireRegion2Hour(int min, int max) {
		long expire = RandomUtil.randomLong(3600 * min, 3600 * max);
		return Math.abs(expire);
	}

	/**
	 * 区间过期时间（天）
	 * @return SECONDS
	 */
	public static long getExpireRegion2Day(int min, int max) {
		long expire = RandomUtil.randomLong(86400 * min, 86400 * max);
		return Math.abs(expire);
	}

}
